home *** CD-ROM | disk | FTP | other *** search
- TRUEDISK - die einzig wahre RAMdisk
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- v1.5 © 1989-1993 by Christoph Zwerschke
-
- Kurzanleitung
- -------------
- Hier eine Kurzanleitung für ganz Eilige: Die TRUEDISK ist
- eine RAMdisk für den Atari ST. Notfalls läuft die TRUEDISK
- auch auf dem Atari TT, hier muß aber das "memconf"-Byte,
- das beim TT nicht mehr unterstützt wird, von Hand in die
- TRUEDISK "gepatcht" werden. Das gleiche gilt, wenn in den
- Atari ST eine Speicherkarte mit einer ursprünglich nicht
- vorgesehenen Ausbaustufe (etwa 3MB oder mehr als 4MB)
- eingebaut ist, da auch in diesem Fall das "memconf"-Byte
- meist nicht mehr stimmt. Genaueres zu diesem "Patch"
- weiter unten. Auf dem Atari Falcon läuft die TRUEDISK
- leider nicht mehr, hier stößt man durch die sehr variable
- Bildschirmgröße auf Schwierigkeiten, die man nur durch ein
- völlig neues Konzept der RAMdisk lösen könnte. Nun aber
- wieder zurück zum "normalen" Atari ST: Hier reicht es,
- das Programm TRUEDISK.PRG in den AUTO-Ordner zu kopieren
- und zum Konfigurieren beim Booten eine der Tasten Shift
- oder Control gedrückt zu halten. Es empfiehlt sich und
- ist gelegentlich sogar notwendig, daß die TRUEDISK als
- erstes oder eines der ersten Programme im AUTO-Ordner
- gestartet wird. Die richtige Reihenfolge der Programme
- im AUTO-Ordner stellt man entweder durch Umkopieren von
- Hand her oder bequemer mit einem speziellen Programm zum
- Sortieren von Verzeichnissen (zum Beispiel DIRSORT).
- Nun noch einmal ohne Eile die Anleitung von Anfang an:
-
- Vorteile der TRUEDISK
- ---------------------
- Vielleicht werden Sie sich gerade fragen: "TRUEDISK.PRG,
- 2048 Byte, was kann das schon sein?" Nun, TRUEDISK ist
- eine resetfeste RAMdisk für den Atari ST, und die 2048
- Bytes sind bereits einer der Vorteile der TRUEDISK. Sie
- ist so klein, daß sie in 2 normale Cluster auf der Disk
- oder der Festplatte paßt. Es ist auch kein zusätzliches
- Konfigurations-Programm (etwa ein ACC oder CPX) notwendig,
- dies wird alles von TRUEDISK.PRG mit übernommen.
-
- RAMdisks gibt es für den Atari ST wie Maus-Beschleuniger,
- Bildschirmschoner und Fileselect-Boxen in rauhen Mengen.
- Aber der Autor war irgendwie mit jeder RAMdisk, die er
- ausprobierte spätestens nach einiger Zeit im praktischen
- Gebrauch unzufrieden, und fing getreu seinem Motto "wenn
- man nicht alles selber macht..." nach einiger Zeit mit
- der Programmierung seiner eigenen RAMdisk an.
-
- TRUEDISK hält sich an das Konzept der RRRD aus der c't:
-
- - Die RAMdisk bleibt auch nach einem Reset erhalten.
- - Auto-Ordner-Programm, belegt keinen Accessorie-Platz.
- - RAMdisk liegt geschützt oberhalb des Anwenderspeichers.
- - Zusätzliche Konfigurationsdatei wird nicht benötigt.
- - Das Programm gibt Informationen bei "Bombenalarm" aus.
-
- Es wurden aber einige wesentliche Mängel der RRRD behoben:
-
- - Beliebig konfigurierbar, unabhängig vom Speicherausbau.
- - Auch sehr große RAMdisks sind möglich.
- - Installation kann mit Tastendruck übersprungen werden.
- - Kein zweiter Kaltstart mehr nach dem Einschalten.
- - Verbesserte, schnellere Treiberroutinen.
- - Die Treiberroutinen benutzen die "XBRA"-Methode.
- - Das rwflag bei Rwabs wird richtig behandelt.
- - Parameter und Treiberroutinen liegen im Bootsektor.
- - Verbesserte Speicheraufteilung.
-
- Bedienung der TRUEDISK
- ----------------------
- TRUEDISK.PRG läuft nur im AUTO-Ordner. Die TRUEDISK kann
- neu konfiguriert werden, indem man beim Booten die Taste
- Shift oder Control gedrückt hält. Die dann gewählte Ein-
- stellung wird im Programm abgespeichert, so daß sie auch
- nach dem Ausschalten noch erhalten bleibt. Daher sollte
- das Programm auch nicht anders benannt und die Diskette
- bzw. Partition nicht schreibgeschützt sein. Es darf sich
- auch stets nur eine TRUEDISK im AUTO-Ordner befinden.
-
- Die gewünschten Daten können notfalls auch mit einem
- Diskmonitor direkt in das Programm "gepatcht" werden.
- Die TRUEDISK installiert sich immer als das angegebene
- Laufwerk - auch wenn dort z.B. bereits eine Partition
- einer Festplatte installiert ist. Eine Doppelbelegung ist
- aber nicht schlimm, man kann lediglich nicht auf die
- Festplatten-Partition zugreifen, die TRUEDISK hat Vorrang
- (jedenfalls, wenn der Harddisk-Treiber vor der TRUEDISK
- gestartet wurde, sonst ist es umgekehrt). Die TRUEDISK ist
- als Laufwerk "D:" voreingestellt. Falls Sie eine Harddisk
- besitzen, wählen Sie statt dessen besser das Laufwerk "M:"
- (=Memory, das hat sich für RAMDisks so eingebürgert) oder
- die erste freie Laufwerkskennung. Sie müssen die RAMdisk
- natürlich auch im Desktop anmelden.
-
- Die eingegebene Größe gibt an, wieviel Speicher in kByte
- die RAMdisk tatsächlich belegt. Der zum Speichern von
- Dateien benutzbare Platz ist wegen der Verwaltungssektoren
- und dem 2kB-GEMDOS-Fehler etwas kleiner. Falls als Größe
- 0 kByte (oder weniger als 8 kByte) eingegeben wird, wird
- die TRUEDISK nicht installiert und eine eventuell vorher
- vorhandene RAMdisk vollständig aus dem Speicher entfernt.
-
- Man kann die Installation der TRUEDISK auch verhindern,
- indem man beim Booten die Taste Alternate gedrückt hält.
- Ist aber eine TRUEDISK einmal vorhanden, dann wird der
- Speicherplatz nicht freigegeben, um ein versehentliches
- Löschen der Daten zu vermeiden.
-
- Speicherverwaltung, das "memconf"-Byte
- --------------------------------------
- Um einen zweiten Kaltstart nach dem Heruntersetzen des
- Speicherendes zu vermeiden, mußte die von Atari nicht
- dokumentierte Speicherverwaltung des GEMDOS manipuliert
- werden. Dazu hat der Autor ein Verfahren ausgetüftelt,
- das mit allen bisherigen TOS-Versionen für Atari ST, STE
- und TT funktionieren sollte. Trotzdem sei erwähnt, daß
- die TRUEDISK an dieser Stelle nicht ganz "sauber" ist.
-
- Ein weiterer kritischer Punkt ist die Bestimmung der
- tatsächlichen RAM-Ausbaustufe des Rechners. Auf die
- Systemvariable "phystop" kann man sich nämlich nicht
- unbedingt verlassen, sie könnte ja durch eine RAM-Disk
- heruntergesetzt worden sein. Um den tatsächlichen RAM-
- Ausbau zu bestimmen, wird von der TRUEDISK das sogenannte
- "Memory Configuration Byte" (kurz "memconf"-Byte) an der
- Adresse $424 ausgewertet. Dies funktioniert aber leider
- nur bei den ST- und STE-Modellen (nicht beim TT) und auch
- nur bei den ursprünglich vorgesehenen RAM-Ausbaustufen,
- d.h. mit einigen Speichererweiterungen kann es z.B. bei
- einem Ausbau auf 3MB oder mehr als 4MB Probleme geben.
-
- Die TRUEDISK läuft aber auch mit solchen Rechnern, wenn
- man das "memconf"-Byte in die Truedisk "patcht", und zwar
- mit Offset $67 in TRUEDISK.PRG, direkt hinter dem Wort
- "memconf". Normalerweise steht dort ein Null-Byte, in
- diesem Fall wird das Byte aus der Adresse $424 geholt.
-
- Das Byte wird von der TRUEDISK wie folgt ausgewertet:
- Bits 0 und 1 geben die Bestückung der ersten "Bank" an,
-
- 0 = unbestückt, 1 = 512 kB, 2 = 2 MB, 3 = 8 MB.
-
- Analog geben die Bits 2 und 3 die Bestückung der zweiten
- Bank an. Bits 4/5 und 6/7 werden als Bank 3 und Bank 4
- genauso ausgewertet, obwohl es normalerweise nur zwei
- Banks gibt, und die Bits 4-7 immer Null sind.
-
- Hier einige Beispiele für den Wert des "memconf"-Bytes:
-
- 1MB $05 3MB $25 6MB $2A 12MB $2B
- 2MB $02 4MB $0A 8MB $03 32MB $FF
-
- Zum Atari TT ist noch folgendes zu sagen: Die TRUEDISK
- benutzt grundsätzlich nur den ST-kompatiblen RAM-Speicher.
- Alternativer Speicher bleibt, unabhängig von den Flags im
- Programmkopf, völlig unangetastet. Der Wert für memconf
- bezieht sich nur auf den Ausbau des ST-kompatiblen RAMs.
-
- Weitere Vorteile für Experten
- -----------------------------
- Die Lage der RAMdisk oberhalb des normalen Speichers
- (ab "phystop") ist in vieler Hinsicht günstig: Man weiß
- genau, wo sich die Daten befinden, z.B. ist bei einem ST
- mit 1 MByte Speicherausbau das obere Ende des Speichers
- bei $100000. Hat man eine RAMdisk von 512 kByte Größe
- = $80000 Byte, dann belegt die Disk den Speicherbereich
- $80000-$100000. An der Adresse $80000 befindet sich der
- Bootsektor, bei $80200 der erste Sektor der FAT, usw.
- An der Adresse $81600 steht dann das Directory, und bei
- $82400 der erste Datensektor. Man beachte aber, daß bei
- sehr großen RAMdisks FAT und Directory automatisch von
- der TRUEDISK entsprechend größer gewählt werden.
-
- Da der RAMdisk-Speicher eine solche fest definierte Lage
- hat, kann man ihn sehr einfach mit einem Monitorprogramm
- als Block speichern oder laden oder für andere Zwecke
- mißbrauchen. Man kann notfalls nach einem "Crash" auch
- versuchen, noch Daten zu retten.
-
- "Dort oben" kann die TRUEDISK auch nicht so leicht von
- Anwenderprogrammen oder den Tücken der GEMDOS-Speicher-
- verwaltung zerstört werden. Die Treiberroutinen liegen
- ebenfalls dort, nämlich im Boot-Sektor der TRUEDISK.
- Die "hdv"-Vektoren zeigen daher an eine Stelle oberhalb
- des benutzbaren Anwenderspeichers.
-
- Lediglich Programme, die über den unteren Rand hinaus auf
- dem Bildschirm ausgeben, können Schwierigkeiten bereiten.
- In der Praxis trat dies aber nur bei einem sehr alten
- "HyperScreen"-Treiber und einigen unsauberen PD-Programmen
- auf, die inzwischen korrigiert wurden (solche Programme
- würden sowieso auf einem 4MB Rechner abstürzen).
-
- Die TRUEDISK arbeitet mit 512-Byte-Sektoren, 2 Sektoren
- pro Cluster und 16-Bit-FATs. Dies sind Standardwerte,
- die zwar etwas Platz verschwenden, aber dafür die RAM-Disk
- nicht abbremsen und nicht zu Problemen führen können,
- die es in der Praxis mit anderen Werten ab und zu gab.
-
- Copyright
- ---------
- (c) 1989-1993 by Christoph Zwerschke. All rights reserved.
-
- Die TRUEDISK ist "public domain", darf also nach Belieben
- kopiert und weitergegeben werden ("non profit use only!").
-
- Christoph Zwerschke
- Am Steinfeld 4
- D-59379 Selm-Cappenberg
-
-